import java.util.Arrays;

public class Main {

    //数组是引用类型
    //

public static String myToString(int[] array){
    String ret = "[";
    for (int i = 0; i <array.length ; i++) {
        ret+=array;
        if(i!= array.length-1){
            ret+=",";
        }

    }
    ret +="]";
    return ret;
}

//数组拷贝：
    //1，for循环
    //2.
    public static void main(String[] args) {

    //native  本地方法，c/c++实现的，快，
        //jvm也是一个软件
        //还要你干啥
        //

    //浅拷贝——最起码有两份东西吧。
        //奥特六兄弟，，我们都是喜欢计算机的
        //租房子
        //
        //讲讲自己这星期学到了什么，分享什么
        //评委
        //每个人都必须要上台
        //腾讯--好爽啊
        //努力，互相督促了
        //刚开始讲的就是一坨屎，
        //谁不是呢？？？
        //任何人都是有懒散的。
        //你什么时候还能有这么好的朋友呢？/



        //用数组保存数据-——应用场景

        //让数组作为参数和返回值，因为本就是引用类型
        //就可以真正实现改变
        //引用变量不一定是在栈上
        //对象一定在堆上
//        int []array={1,2,3,4};
//        //借助工具类，将参数的数组 转化为字符串输出
//        Arrays.toString(array);
//        int []array2=array;
//        int[]array3=new int[3];
//        array3[0]=10;
//        array3[1]=10;
//        array3[2]=10;

        //软件装不坏
        //不要瞎弄噢
        //


        //当对象没有人指向它的时候，就会被jvm自动回收了。
        //1.局部变量 生命周期和作用域是什么
        //2当对象没有人引用的时候，它就会被自动回收掉
        //




        //认识null，
        //null是空引用----
        //引用的零值，是null，代表引用不指向那个对象

        //
        //null是点不了的

        //空指针异常  --伴随整个学习的过程

        //算术异常
        //


        //两个引用同时指向了一个对象
        //引用就是引用变量
        //局部变量和引用变量是不冲突的

        //array这个引用指向了数组对象
        //

        //对应的

        //局部变量

        //引用变量=是以里面存放的是不是地址





        //数组是引用；需要new
        //什么是引用类型呢？
        //其实存储的是地址

        //内存是需要划分的，对内存划分
        //jvm5个内存
        //
        //方法区、Java虚拟机栈（也就是我们常说的栈）、本地方法栈
        //堆区、程序技术器

        //本地方法栈用c/c++写的

        //每一块内存都有自己的使命
        //内存划分好管理
        //

        //方法区和堆，线程共享的，其余三个是隔离的


        //数据类型

        //基本数据类型
        //8个

        //引用数据类型
        //里面存储的是对象的地址


    }
//    public static int max(int a,int b){
//        return a>b? a:b ;
//    }
//    public static int max(int a,int b,int c){
//        int max=max(a,b);
//        return max(max,c);
//        //会有代码的复用，重复写的话没有必要咯
//        //方法的重载
//
//    }

}